Data transmission systems typically assume that data transfer will take place in a “connected” environment, that is, the expected connectivities of the recipient and sender are effectively assumed to be perpetual. This way of thinking may be a relic of past “hard-wired” communications systems, wherein the connectivity between two nodes in a network could be reliably assumed. In today's world, where so much communication takes place over mobile networks and/or between “smart,” i.e., Internet-enabled, devices making up the so-called “Internet of Things,” perpetual connectivity during a data transmission is no longer a safe assumption. In particular, wireless Internet signal strength can vary, devices can move into and out of the range of wireless access points at varying rates of speed, and devices can jump onto and off of different types of networks, such as Wi-Fi, 3G, 4G, etc., without warning.
In one embodiment, devices referred to herein as “data mules,” which are devices that deliver or receive data, may be used to gather or send data from or to an embedded device over a temporary connection. Data nulling may be done by mobile devices and/or embedded devices. An example of an embedded device that a data mule may want to gather information from would be a “smart” water meter. Such a water meter may want to dump some information whenever there is a data mule, e.g., a person with a mobile phone, around that it may be able form a data connection with. However, this data connection is often only a temporary connection. In fact, if the data mule is moving as it passes the embedded device, this connection can be very temporary indeed. Thus, it is desirable to determine a way to send and/or receive as much information as possible into the limited time frame “window of opportunity” that exists for data transmission.
To achieve these aims, according to some embodiments, the instantaneous quality of signal strength may be measured. If the device(s) measuring the quality of signal strength senses that the quality of signal is diminishing, it could then adjust the size of the transmission packets so that the greatest possible amount of data packets are fit into the remaining time “window of opportunity” that is predicted to be available to the device.
According to some embodiments, it may be assumed that a drop in signal strength is associated with device movement. By assuming or ascertaining the speed of the data mule (in the scenario where a data mule is moving past a stationary embedded device that it is attempting to receive data from), the rate of signal drop and the time at which the signal disconnect will occur may be predicted. This may prove to be valuable due to the fact that, if a device attempts to transmit a large package that will not fit into the remaining “window of opportunity,” i.e., connectivity timeframe, the entire data transmission may not succeed.
Even if a connection is quickly restored (e.g., if the device reconnects to a 3G/4G network), the original communication may be lost and would need to be repeated. This creates unnecessary duplication of network transmissions, which is undesirable from a user-experience point of view (e.g., delay and unnecessary battery drain) and financially (unnecessary costs for sending duplicated data).
If an interruption occurs during the submission of security telemetry, for instance, it may be especially undesirable, as the device may be attempting to contribute to a global threat intelligence (GTI) data pool at a back end server or attempting to verify the identity of a user attempting to gain access to a particular real-world place or piece of information.
Thus, according, to some embodiments, the transmission may be broken down into smaller portions so that the likelihood of losing a transmission is minimized and, if some data is lost, it will likely be only a small amount. Device sensors, e.g., GPS sensors, accelerometers, or pyrometers, may be used in order to tell how fast the device is moving. Device movement information may further aid in the estimation of the available connectivity time frame and subsequent adjustment of the communication packets so that the communication is less likely to break in the middle of a data transmission, thus discarding the entire transmission.
Breaking communications down into small portions (e.g., packets), however, has an additional transmission cost, as each packet introduces certain overhead (e.g., packet headers and computations associated with processing more headers and packets, as well as reassembling the original transmission from multiple packets), thus, breaking all transmissions down into small portions without first assessing the size of the remaining time “window of opportunity” is a sub-optimal approach.
The subject matter of the present disclosure is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above. To address these and other issues, techniques that, in part, reduce the likelihood of a connectivity interruption during an ongoing transmission (both downloads and uploads) are described herein.